package com.lin.carbon.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 系统账户实体类，对应数据库中的 sys_account 表
 */
@Data
@TableName("sys_account")
public class SysAccount {
    /**
     * 主键，数据库自增生成
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 账户名，唯一标识一个账户
     */
    private String accountName;

    /**
     * 用户姓名
     */
    private String username;

    /**
     * 密码
     */
    private String password;

    /**
     * 手机号，唯一标识
     */
    private String phone;

    /**
     * 用户头像的链接地址
     */
    private String avatar;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 产品版本，参考字典 040
     */
    private String productVersion;

    /**
     * 认证令牌
     */
    private String token;

    /**
     * 账户类型，参考字典 038
     */
    private String accountType;

    /**
     * 账户状态，参考字典 039
     */
    private String accountStatus;

    /**
     * 所属租户的 ID
     */
    private Long tenantId;

    /**
     * 备注信息
     */
    private String remarks;

    /**
     * 创建该账户的用户 ID
     */
    private Long creatorId;

    /**
     * 最后更新该账户的用户 ID
     */
    private Long updatedId;

    /**
     * 账户创建的时间
     */
    private LocalDateTime createdTime;

    /**
     * 账户最后更新的时间
     */
    private LocalDateTime updatedTime;

    /**
     * 账户的有效截止时间
     */
    private LocalDateTime validityPeriod;
}